package com.atguigu;

import com.atguigu.model.cmn.Dict;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.stereotype.Repository;
import org.springframework.stereotype.Service;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestParam;

import java.util.List;
import java.util.Map;

//Feign远程调用是消费者端使用的，最好写在消费者端（本项目中不止一个微服务调用此接口，所以将其单独设置成一个服务）
@FeignClient(value = "service-cmn")
@Repository
public interface DictFeignClient {

    //根据dictcode和value查询
    @GetMapping("/admin/cmn/dict/getName/{dictCode}/{value}")
    String getName(@PathVariable("dictCode") String dictCode,
                          @PathVariable("value") String value);

    //根据value查询字典
    @GetMapping("/admin/cmn/dict/getName/{value}")
    String getName(@PathVariable("value") String value);

    //根据value查询字典列表
    @GetMapping("/admin/cmn/dict/getDictMapByVal")
    List<Map<String, Dict>> getDictMapByVal(@RequestParam List<String> valueList);
}
